<?php
namespace Admin\Controller;

class ArticleController extends AdminController {

    public function index($key = null, $status = null){
        // 处理查询后，返回Item实例
        $query = [];
        $key && $query['key'] = $key;
        $status && $query['status'] = $status;

        // 取得结果数组items
        $articles = D('Article')->get($query);

        // 从Article实例中取得分页实例page
        $page = D('Article')->getPage();

        // 模板传值
        $this->assign('list', $articles);
        $this->assign('page', $page);

        // 显示模板
        $this->display();
    }
    public function detail($id = null) {
        // 获取文章内容
        $info = D('Article')->info(['id'=>$id], true);
        $this->assign('info', $info);
        $this->display();
    }

    public function edit(){


        $title = '编辑文章';


        // 获取地区信息
        // TODO:缓存优化
//        S('districts',$districts);

        if ( IS_GET ) {
            // 获取id
            $id = I('get.id',0);

            // id>0 编辑模式; id=0 新增模式
            if ( $id >0 ){
                // 获取文章内容
                $info = D('Article')->info(['id'=>$id], true);
                if (!$info){
                    redirect(U('Article/index'));
                }

            } else {
                // 新建项目 status=0 未审核状态
                $info = ['status'=>1];
                $title = '新增文章';
            }

        } elseif ( IS_POST ) {
            // 对post数据做处理
            $info = $_POST;
            if ( empty($info['id']) ) {
                // 新增
                $info['uid'] = session('user_auth.uid');
            }

            if ( empty($info['status']) ) {
                $info['status'] = 1;
            }

            if ( $result = D('Article')->update($info) ){
                // 成功后跳转
                redirect(U('Article/edit',['id'=>$result]));
            } else {
                $this->assign('alert',array('msg'=>D('Article')->getError(),'status'=>0));
            }

        }

        $this->assign('title', $title);
        $this->assign('info', $info);
        $this->display();
    }

    public function delete($id = null){
        if (!$id) {
            $this->error('无ID');
        }
        if (D('Article')->remove($id)) {
            redirect(U('Article/index'));
        } else {
            $this->error('删除失败 '. D('Article')->getError());
        }
    }
}